Seismic data acquired in certain environments may be significantly corrupted by near-surface complexities such as rough topography, dunes, dry river beds, and karsts. Such complexities may be conventionally taken into account through time imaging by inducing vertical travel time variations and to shift the recorded seismic traces to a reference level. The applied time shifts are constant for each trace and are known as static corrections. The complex near-surface part might also be handled more accurately by depth imaging using near-surface depth velocity model. The models, which are used either for calculation of static corrections or for depth imaging can be estimated with refraction tomography or other similar techniques from surface seismic data. However, these methods usually are unable to handle all near surface complexities typical for certain environments, particularly inversion of seismic wave velocities with depth.